1. Field of the Invention
The present invention relates generally to data processing systems and more particularly relates to data processing systems having heterogeneous resources.
2. Description of the Prior Art
It is known to provide documentation for the purpose of permitting a user to operate a data processing system. With the earliest data processing systems, this documentation took the form of user manuals which described the operation and utilization of the corresponding data processing system.
As systems were designed to be more interactive, it became common to provide user documentation within the data processing system hardware and software itself. In the simplest concept, this may take the form of xe2x80x9cOFFxe2x80x9d and xe2x80x9cONxe2x80x9d designations on the power switch. In a far more complex form indicative of the current state of the art, commercial operating systems such as Windows 95 provide xe2x80x9cHELPxe2x80x9d capabilities in addition to the normal user manual.
A typical user interface may be seen in U.S. Pat. No. 5,581,686, issued to Koppolu et al., and incorporated herein by reference. This user interface provides opportunity for the user to enter data into the running program.
A rudimentary method of using animation for augmenting the help function may be seen in U.S. Pat. No. 5,584,035, issued to Duggan et al., and incorporated herein by reference. Animation can be helpful in showing a user in pictorial form, concepts which are difficult to describe verbally.
Whereas it is often helpful to provide the information associated with the help function to the user, in certain instances it may be even more helpful to provide tool programs to enable the user to directly act upon help information. U.S. Pat. No. 5,581,670, issued to Bier et al., and incorporated herein by reference, shows a limited capability to provide such tool programs. Even of more assistance are automation programs which actually provide the user with a solution to the problem rather than just offering information and/or tools to assist the user in implementing the solution.
As systems become larger and more complex, it may be desirable to externalize the help function from the application program. This is suggested by U.S. Pat. No. 5,581,684, issued to Dudzik et al., and incorporated by reference. Such externalization permits the addition of help information after finalization of the application program without disturbing the basic application.
The major problem not addressed by the prior art, however, relates to providing user assistance regarding the interoperability of multiple, diverse system elements. This problem often exists concerning different application programs within a single computer. More difficult still, however, are interoperability concerns regarding multiple applications hosted on multiple and heterogeneous computer platforms. Heterogeneous in this context means computer platforms having different software and system architectures. Oftentimes, such interoperability issues are completely outside the scope of all of the user documentation and therefore not addressed at all.
The present invention overcomes the problems associated with the prior art by providing a system and methodology for implementing user assistance functions concerning interoperability of diverse applications, whether hosted on the same computer platform or hosted on different, and possibly heterogeneous, computer platforms. The operator is assisted by being offered information, tools and/or automation as appropriate to the problem presented. In some instances, animation or illustrations are utilized to permit complete and full understanding by the user of the assistance being provided.
The user may activate the assistance to be provided by the present invention either through an operating system help call or through executing the assistance program and selecting the desired assistance for the functions available. However, as a memory saving feature, logic within the assistance call, ensures that multiple copies of the help engine are not loaded simultaneously. Using either method, the user may call on the assistance needed. For a user interfacing with an industry compatible computer running Microsoft Windows, the access may be through WinHelp or by executing the program item containing the assistance menu. In the preferred embodiment, the program item containing the assistance menu is called PathMate.
To enable the user to utilize either access technique, the logic for each individual assistance function, called xe2x80x9capplet,xe2x80x9d must be compatibly developed using a standardized approach. The preferred method is a six-step process.
In the first step, an individual interoperation task is identified. It is crucial that each useful interoperation task be identified. Failure to do so ensures that the resulting assistance package will be incomplete. For that reason this step must be performed by highly skilled systems personnel having extensive experience and the capability to reason inductively.
The second step synthesizes a solution to each identified interoperation task. A given solution is optimized to be consistent with the background and understanding of the ultimate user and yet take advantage of the inside information known especially by developers and suppliers of the diverse system elements to be integrated. This task requires highly skilled system personnel employing essentially deductive problem solving.
The optimized solution determined by step two is documented in a standardized format known as a xe2x80x9clab note.xe2x80x9d Each lab note specifies a given interoperation task and its corresponding optimized solution.
In step number four, the person performing step numbers two and three creates any scripts and/or utilities deemed useful in implementing the optimized solution. The resulting automation is called an applet.
Finally, the results of steps 1-4 are presented to one or more specialists associated with the diverse system elements to be integrated for implementation of the solution. The resulting logic is called a solution. The solution will ordinarily consist of some or all of the following: help text, animation, program calls, selection parameters, macros, special documentation, and unique program code required to implement the solution. For interoperation tasks involving multiple heterogeneous computer platforms, these constituent parts of the solution will involve different programming languages and protocols, different systems architectures and philosophies, and different documentation standards. Therefore, it is necessary that the implementation of the solution be accomplished by one or more individuals having the requisite specific experience with the associated diverse system element(s).
All of the solutions useful to a given user configuration are combined into the assistance package needed for a given system. In that way a user is given assistance from her/his own frame of reference, even though many of the interoperative tasks will utilize diverse system elements totally foreign to the user.
Some solutions may even involve intermediate diverse system elements which are employed primarily for their existing data conversion and/or format control. This becomes expedient in situations wherein the intermediate diverse system element imports and exports a variety of file formats, for example. Therefore, such an intermediate diverse system element can be utilized simply for file conversion, a use probably never contemplated by its developers.
In the preferred embodiment, the user interfaces with an industry compatible computer running under Microsoft Windows. This machine is coupled to one or more large mainframe computers, such as the Unisys 2200 system. One or more additional diverse system elements may be present, such as UNIX or NT operating system and internet coupling. The user is deemed to be capable of satisfactory operation of the industry compatible computer with Windows but is deemed to be much less familiar with the Unisys 2200 system, as well as UNIX, internet, and such other diverse system elements as may be present. Therefore, the assistance package provides substantial utility in offering interoperability particularly with regard to the unfamiliar diverse system elements.